# 内省或者自省：它是指在程序运行的时候能够进行自我检测的一种机制
# 期望传入的是一个字典
def times(s: dict[str, int], n: int = 3) -> list:
    """
    :param s:一个字典类型的参数
    :param n: 一个整数
    :return: 一个列表
    """
    return list(s.keys()) * n


# Python 的内省是通过一些内置的属性来实现的

# 查看函数的名字
print(times.__name__)  # times

# 查看函数的类型注释
print(times.__annotations__)  # {'s': dict[str, int], 'n': <class 'int'>, 'return': <class 'list'>}

# 查看函数的文档
print(times.__doc__)

#     :param s:一个字典类型的参数
#     :param n: 一个整数
#     :return: 一个列表

